1. The Field of the Invention
The present invention relates to a digitally controlled impedance driver that performs dynamic impedance matching for a wide range of voltage swings at the input/output node and that has a programmable step size.
2. Background and Related Art
Electronic circuits have revolutionized the way people work and play and have contributed enormously to the advancement of humankind. A large portion of the utility of electronic circuits is that they are designed to apply appropriately configured and timed signals to a load. A driver circuit is that portion of the circuit that physically applies the signal to the load. In order to reduce reflection and thereby improve the quality of the applied signal, the output impedance of the driver circuit should closely match the input impedance of the load.
Digitally Controlled Impedance (DCI) matching techniques are one class of techniques that may be used to provide some level of impedance matching. A “DCI driver” is a driver circuit that incorporates DCI matching techniques. FIG. 5 illustrates a conventional DCI driver 500 that includes multiple fingers 501(1) through 501(N). Each finger includes two Field Effect Transistors (FETs) including a p-type FET (pFET) coupled between the high voltage supply and the input/output node 502, and including an n-type FET (nFET) coupled between the low voltage supply and the input/output node.
As is known to those of ordinary skill in the art, a FET is a good resistor when operating in the linear region as when the voltage between drain and source is small, and when the gate-to-source voltage exceeds the threshold voltage of the FET. As the drain to source voltage increases beyond the over-drive voltage, the FET begins operating in the saturation region and thus is not a linear resistor any more. The output impedance looking into the input/output node 502 is composed of the paralleled impedance of each finger. It is this output impedance that is desired to be matched with the input impedance of the load (not shown) connected to input/output terminal 502. By adjusting the fingers that are turned on and off, the output impedance of the DCI driver circuit 500 may be adjusted until the output impedance looking into the DCI driver circuit 500 more closely matches the input impedance of the load.
However, the output impedance looking into the input/output node 502 is not constant during operation, but a function of a number of factors including the supply voltage, the process corner, the temperature, and the voltage applied at the input/output node 502. The supply voltage, the process corner, and the temperature may change over time, thereby often drifting the output impedance of the DCI driver 500 further from the input impedance of the load. Accordingly, a controller (not shown) is configured to periodically determine which of the fingers should be turned on, and which should be turned off, based on the existing circumstances, and then open or close the appropriate fingers. This typically results in the DCI driver output impedance being returned back closer to the load input impedance thereby preserving the quality of the signal generated by the DCI driver.
Conventional DCI controllers do well in adjusting the output impedance of the DCI driver to compensate for deviations due to supply voltage fluctuations, process corners, and temperature changes. Many conventional DCI driver circuits address the issue of fluctuations in DCI driver output impedance fluctuations due to variations in the applied voltage at the input/output node by matching impedance assuming that the applied voltage is at a certain level or vicinity. For example, to produce a DCI driver output impedance of fifty ohms, the DCI controller may assumes that a voltage halfway between the supply voltages is to be applied on the input/output node. To produce a DCI driver output impedance of twenty-five ohms, the DCI controller may assume that a voltage one third of the way from the low voltage supply to the high voltage supply is to be applied on the input/output node.
However, as the voltage applied at the input/output node transitions from the low voltage supply to the high voltage supply, the difference in the DCI driver output impedance may vary significantly. Some applied voltages may result in output impedances that are as high as double the output impedance resulting from other applied voltages. Accordingly, DCI controllers that determine which fingers of the DCI driver should be on or off by assuming a fixed applied voltage may improperly cause the DCI driver to have inaccurate output impedances.
FIG. 6 shows a conventional DCI driver 600 that uses fine and coarse FETs. All the fine FETs 601 are of the same size while the coarse FETs 602 (constituting pFETs 602A and nFETs 602b) have their length-to-width ratios sized in binary ratio. During the power-up phase, both the coarse FETs 602 and the fine-FETs 601 are turned on and off as appropriate to match a given impedance. After the power-up phase completes (i.e., in normal operation), the impedance is maintained by turning on and off as appropriate just the fine FETs 601, while disabling adjustment of the coarse FETs 602.
Maintaining impedance using fine FETs 601 requires a certain number of fine FETs configured in parallel to work with. Simulation shows that process corners alone can move finger impedance from its nominal value up by thirty-five percent and down by twenty-three percent while the variation of supply voltage and environmental temperature collectively can push the impedance up by forty percent and down by twenty-six percent from the nominal value. This data is obtained for a twenty-five ohm reference impedance assuming an applied voltage point match of 0.5 Volts and 1.5V supply. This means that as large as sixty-six percent variation may be observed in the impedance of each finger.
Accordingly, in order to maintain a matched impedance during normal operation using the DCI driver 600, there is a balance between having significant number of fine fingers for tuning and reducing the impedance of (i.e., making coarser) each fine finger to cover wider range. Having a significant number of fine fingers undesirably increases layout area and routing traffic. Reducing the impedance of each fine finger is undesirable because for a given accuracy, the fine FETs 601 should be as small as possible to have a certain high impedance. Therefore when the layout area and the routing channel is tight, it becomes very difficult or even impossible for conventional DCI drivers to keep the matched impedance over the entire supply voltage and temperature range.
Engaging coarse tuning during normal operation of drivers can be undesirable due to noise concern generated by SSO (Simultaneous Switching Output). In particular, due to inductive effects, switching coarse FETs 602 may degrade the signal provided on the input/output node.
Accordingly, what would be desirable is a DCI controller and driver that may quickly and accurately acquire a matched impedance during a power-up phase, and that may maintain the matched impedance during normal operation over the entire span of applied voltages at the input/output node, and without generating significant Simultaneous Switching Output noise at the input/output node.